<!doctype html>
<html>
  <title>npm</title>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="../../static/style.css">
  <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm.html">
  <script async=true src="../../static/toc.js"></script>

  <body>
    <div id="wrapper">

<h1><a href="../cli/npm.html">npm</a></h1> <p>javascript package manager</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args]</code></pre><h2 id="version">VERSION</h2>
<p>6.4.1</p>
<h2 id="description">DESCRIPTION</h2>
<p>npm is the package manager for the Node JavaScript platform.  It puts
modules in place so that node can find them, and manages dependency
conflicts intelligently.</p>
<p>It is extremely configurable to support a wide variety of use cases.
Most commonly, it is used to publish, discover, install, and develop node
programs.</p>
<p>Run <code>npm help</code> to get a list of available commands.</p>
<h2 id="important">IMPORTANT</h2>
<p>npm is configured to use npm, Inc.&#39;s public registry at
<a href="https://registry.npmjs.org">https://registry.npmjs.org</a> by default. Use of the npm public registry is
subject to terms of use available at <a href="https://www.npmjs.com/policies/terms">https://www.npmjs.com/policies/terms</a>.</p>
<p>You can configure npm to use any compatible registry you like, and even run
your own registry. Use of someone else&#39;s registry may be governed by their
terms of use.</p>
<h2 id="introduction">INTRODUCTION</h2>
<p>You probably got npm because you want to install stuff.</p>
<p>Use <code>npm install blerg</code> to install the latest version of &quot;blerg&quot;.  Check out
<code><a href="../cli/npm-install.html">npm-install(1)</a></code> for more info.  It can do a lot of stuff.</p>
<p>Use the <code>npm search</code> command to show everything that&#39;s available.
Use <code>npm ls</code> to show everything you&#39;ve installed.</p>
<h2 id="dependencies">DEPENDENCIES</h2>
<p>If a package references to another package with a git URL, npm depends
on a preinstalled git.</p>
<p>If one of the packages npm tries to install is a native node module and
requires compiling of C++ Code, npm will use
<a href="https://github.com/TooTallNate/node-gyp">node-gyp</a> for that task.
For a Unix system, <a href="https://github.com/TooTallNate/node-gyp">node-gyp</a>
needs Python, make and a buildchain like GCC. On Windows,
Python and Microsoft Visual Studio C++ are needed. Python 3 is
not supported by <a href="https://github.com/TooTallNate/node-gyp">node-gyp</a>.
For more information visit
<a href="https://github.com/TooTallNate/node-gyp">the node-gyp repository</a> and
the <a href="https://github.com/TooTallNate/node-gyp/wiki">node-gyp Wiki</a>.</p>
<h2 id="directories">DIRECTORIES</h2>
<p>See <code><a href="../files/npm-folders.html">npm-folders(5)</a></code> to learn about where npm puts stuff.</p>
<p>In particular, npm has two modes of operation:</p>
<ul>
<li>global mode:
npm installs packages into the install prefix at
<code>prefix/lib/node_modules</code> and bins are installed in <code>prefix/bin</code>.</li>
<li>local mode:
npm installs packages into the current project directory, which
defaults to the current working directory.  Packages are installed to
<code>./node_modules</code>, and bins are installed to <code>./node_modules/.bin</code>.</li>
</ul>
<p>Local mode is the default.  Use <code>-g</code> or <code>--global</code> on any command to
operate in global mode instead.</p>
<h2 id="developer-usage">DEVELOPER USAGE</h2>
<p>If you&#39;re using npm to develop and publish your code, check out the
following help topics:</p>
<ul>
<li>json:
Make a package.json file.  See <code><a href="../files/package.json.html">package.json(5)</a></code>.</li>
<li>link:
For linking your current working code into Node&#39;s path, so that you
don&#39;t have to reinstall every time you make a change.  Use
<code>npm link</code> to do this.</li>
<li>install:
It&#39;s a good idea to install things if you don&#39;t need the symbolic link.
Especially, installing other peoples code from the registry is done via
<code>npm install</code></li>
<li>adduser:
Create an account or log in.  Credentials are stored in the
user config file.</li>
<li>publish:
Use the <code>npm publish</code> command to upload your code to the registry.</li>
</ul>
<h2 id="configuration">CONFIGURATION</h2>
<p>npm is extremely configurable.  It reads its configuration options from
5 places.</p>
<ul>
<li>Command line switches:
Set a config with <code>--key val</code>.  All keys take a value, even if they
are booleans (the config parser doesn&#39;t know what the options are at
the time of parsing).  If no value is provided, then the option is set
to boolean <code>true</code>.</li>
<li>Environment Variables:
Set any config by prefixing the name in an environment variable with
<code>npm_config_</code>.  For example, <code>export npm_config_key=val</code>.</li>
<li>User Configs:
The file at $HOME/.npmrc is an ini-formatted list of configs.  If
present, it is parsed.  If the <code>userconfig</code> option is set in the cli
or env, then that will be used instead.</li>
<li>Global Configs:
The file found at ../etc/npmrc (from the node executable, by default
this resolves to /usr/local/etc/npmrc) will be parsed if it is found.
If the <code>globalconfig</code> option is set in the cli, env, or user config,
then that file is parsed instead.</li>
<li>Defaults:
npm&#39;s default configuration options are defined in
lib/utils/config-defs.js.  These must not be changed.</li>
</ul>
<p>See <code><a href="../misc/npm-config.html">npm-config(7)</a></code> for much much more information.</p>
<h2 id="contributions">CONTRIBUTIONS</h2>
<p>Patches welcome!</p>
<p>If you would like to contribute, but don&#39;t know what to work on, read
the contributing guidelines and check the issues list.</p>
<ul>
<li><a href="https://github.com/npm/cli/blob/latest/CONTRIBUTING.md">CONTRIBUTING.md</a></li>
<li><a href="https://npm.community/c/bugs">Bug tracker</a></li>
<li><a href="https://npm.community/c/support">Support tracker</a></li>
</ul>
<h2 id="bugs">BUGS</h2>
<p>When you find issues, please report them:</p>
<ul>
<li>web:
<a href="https://npm.community/c/bugs">https://npm.community/c/bugs</a></li>
</ul>
<p>Be sure to follow the template and bug reporting guidelines. You can also ask
for help in the <a href="https://npm.community/c/support">support forum</a> if you&#39;re
unsure if it&#39;s actually a bug or are having trouble coming up with a detailed
reproduction to report.</p>
<h2 id="author">AUTHOR</h2>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="https://twitter.com/izs">@izs</a> ::
<a href="mailto:&#105;&#64;&#x69;&#122;&#115;&#x2e;&#x6d;&#x65;">&#105;&#64;&#x69;&#122;&#115;&#x2e;&#x6d;&#x65;</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
<li><a href="../../doc/README.html">README</a></li>
<li><a href="../files/package.json.html">package.json(5)</a></li>
<li><a href="../cli/npm-install.html">npm-install(1)</a></li>
<li><a href="../cli/npm-config.html">npm-config(1)</a></li>
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
<li><a href="../files/npmrc.html">npmrc(5)</a></li>
<li><a href="../misc/npm-index.html">npm-index(7)</a></li>
</ul>

</div>

<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm &mdash; npm@6.4.1</p>

